The ability to bring new value-added services to the marketplace quickly and by differentiation (that is, with increased quality and lower manageability) is advantageous for telecommunications (herein after “telecom”) service providers because of, for example, decreasing revenue from voice calls. Telecom operators are aggressively looking at newer sources of revenue such as, for example, partnerships with third-party providers to offer alternate services such as gaming applications, news, ring-tones, etc. In recent years, however, such services are facing strong competition from similar technologies and applications provided by internet content providers. Applications can be accessed through a browser-enabled phone, while paying only for the connectivity charges, and thereby adversely affect revenues from the paid-for services hosted on the telecom operator portal. Examples of such services include voice over internet protocol (VoIP), telephony conferencing services and various content services (for example, maps, ring-tones, etc.).
Telecom operators, however, have an advantage over internet service providers in terms of their still unmatched core functionalities of location, presence, call control, etc., characterized further by carrier-grade quality-of-service (QoS) and high availability.
As such, a potential channel exists for telecom operators to increase revenue by offering these functionalities as services to developers for creating new applications. However, telecom service composition is a challenging problem.
Many of the building blocks of a telecom infrastructure (for example, location registries (home location registers/visitor location registers (HLR/VLR)), accounting and billing services, etc.) are already in place to support basic operations such as voice and short-message service (SMS). However, these elements are not easily utilizable in new applications because they are not exposed using standardized frameworks and component models. Towards this, telecom operators in existing approaches are adopting service-oriented architecture (SOA) that would let developers access these services without knowledge of the underlying platform implementation.
Web services, as an instantiation of SOA, have received much interest due to their potential in facilitating seamless business-to-business or enterprise application integration. For example, the Parlay consortium defined a standard, called Parlay-X, which exposes web service interface for core telecom functionalities. In another example, IP Multimedia Subsystem (IMS) provides a reference framework to expose these functionalities as services to web-engineered systems using session initiation protocol (SIP).
Although efforts like Parlay-X and IMS are a step in the right direction, rapid development of applications that utilize telecom functionality still faces a number of challenges in a realistic setting. For example, one needs to provide interfaces that shield the application developer from different telecom protocols (for example, Parlay-X, SIP, etc.), including the legacy ones. Also, one needs to package the telecom functionalities so that they can be readily used in different programming styles (for example, Java, HTML/JavaScript, etc.) other than pure web service based composition (for example, Business Process Execution Language (BPEL)). Additionally, one needs to encapsulate the invocation of telecom functionality with various coordination rules
Existing approaches include the creation of web processes using web service technology. Web service technology allows a developer to create an abstract process, based on enterprise and process constraints, and then to generate an executable process. Such an approach attempts to reduce the service composition problem to a constraint satisfaction problem.
Existing approaches also include automating the discovery and selection of a service, ensuring semantic and data-type compatibility, and presenting a framework to facilitate automated service composition using semantic web technologies. Additionally, existing approaches include graphical composition environments that allow the reuse of existing components to build an application.
Another existing approach includes an experimental software repository system that provides organization, storage, management, and access facilities for reusable software components. Such an approach, intended as part of an application development environment, is aimed at developing an integrated reuse-centered application development and support environment based on object-oriented techniques.
Also, existing approaches include defining a visual composition tool for constructing application programs using pre-existing software components. Another existing approach includes a service creation environment for composing web services by providing a higher level of abstraction and guiding developers in creating valid compositions. Such an approach also attempts to use the concept of aspect-oriented programming for cross-cutting concerns.
Existing approaches also include a graphical web service composition tool that allows users to construct complex workflows using pre-existing services transparently, and thereby insulating them from the complexity of interacting with numerous heterogeneous services. Such an approach also includes graphical web service discovery, composition and invocation framework. Users can graphically create complex service compositions and share the composite service as a business process execution language for web services (BPELWS) graph, or expose it as a service in a one-click manner. Also, users can catty out a “what-if” analysis by altering existing workflows, and users can record provenance data for a workflow and execute the composed graph on a grid or a peer-to-peer (P2P) network
Many of the existing approaches allow the reuse of existing services and other software components to create an application. Other existing approaches focus on automatic selection of services and automatic generation of composition based on semantic web technologies. In practice, however, the end-user needs a composition environment that helps him or her identify the required service in given context (perhaps, for example, semi-automatically), and rarely needs the automatic service composition features.
Within existing approaches, additional challenges exist in the creation of telecom services. For example, there is the challenge of protocol heterogeneity, wherein there exists multiple, heterogeneous telecom protocols (for example, parlay-X (location), session initiation protocol (SIP) (presence), short message peer-to-peer protocol (SMPP) (short-message service (SMS)) to be supported in a telecom application. Also, there can be a need to hide protocols from service developers.
Additionally, there can be a need to provide interoperability among different protocols (for example, SMS connects to presence). Also, there exist challenges when a service can be accessed in multiple ways (for example, via the web, multiple mobile devices, etc.). Further, challenges may arise when no unified ecosystem exists for multiple players involved in the creation of telecom workflows. These players can include, for example, cellular providers offering SMS, location, availability, etc., third-party providers offering video, music, maps, and service developers using existing services to compose new ones.
Also, challenges exist in the need for a unified view cutting across different players, such as, for example, a view offering simple, effective mechanisms for “advertise,” “lookup,” “select,” and “bind” of different telecom functionalities, to be utilized effectively in creating a telecom application. Additionally, there can be a need for a unified view cutting across different categories of programmers such as, for example, Java, JavaScript, representational state transfer (REST), business process execution language (BPEL), and asynchronous JavaScript and XML (AJAX).
As such, developers may not be aware of telecom protocols (for example, Parlay-X, SIP, Corba), and there may be a need to enable services for multiple devices, platforms and access modalities. Rapid service composition environments are advantageous for service providers to reduce the time-to-market of new services and address increasing competition.